const app = getApp();
const wuhuUrl = app.globalData.wuhuUrl;
Page({
  data: {
    base64Data: '', // 保存文件的Base64数据
    filePath: '',
    fileName: '',
    fileType: '',
    keys: '',//搜索关键字段
    userId: '', // 存储用户ID的变量
    pageNum: 1,
    value: [],//存放返回的结果
    values: [], // 保存多个输入框的内容
  },
  onLoad: function () {
    // 获取从登录页面传递过来的用户信息
    const userInfo = wx.getStorageSync('userInfo');
    console.log('从主页面传递过来的用户信息：', userInfo);
    this.setData({
      userId: userInfo.userId, // 设置用户ID
    });
    this.addInput();
  },
  chooseFile: function () {
    let _this = this;
    wx.chooseMessageFile({
      count: 1,
      type: 'file',
      success(res) {
        const tempFilePaths = res.tempFiles[0].path;
        const fileName = res.tempFiles[0].name;
        // 截取文件名的前10个字符
        const shortenFileName = fileName.length > 10 ? fileName.substring(0, 10) + '...' : fileName;
        _this.setData({
          filePath: tempFilePaths,
          fileName: fileName,
          shortenFileName: shortenFileName // 设置截取后的文件名
        });
        _this.getFileType(fileName);
        _this.readFile(tempFilePaths); // 读取文件内容并转换为Base64
      }
    });
  },
  getFileType: function (fileName) {
    let _this = this;
    if (fileName.endsWith('.pdf')) {
      _this.setData({
        fileType: 'pdf'
      });
    } else if (fileName.endsWith('.xls') || fileName.endsWith('.xlsx')) {
      _this.setData({
        fileType: 'excel'
      });
    } else if (fileName.endsWith('.doc') || fileName.endsWith('.docx')) {
      _this.setData({
        fileType: 'word'
      });
    } else {
      _this.setData({
        fileType: 'image'
      });
    }
  },
  readFile: function (filePath) {
    let _this = this;
    wx.getFileSystemManager().readFile({
      filePath: filePath,
      encoding: 'base64',
      success: function (res) {
        _this.setData({
          base64Data: res.data // 保存文件的Base64数据
        });
        // console.log('文件的Base64信息：', res.data); // 打印Base64信息
      },
      fail: function (err) {
        console.error('读取文件失败：', err);
      }
    });
  },
  addInput: function () {
    let values = this.data.values;
    values.push("");
    this.setData({
      values: values
    });
  },
  
  // 监听输入框内容变化
  onInputChange: function (event) {
    const index = event.currentTarget.dataset.index; // 获取当前输入框的索引
    const value = event.detail; // 获取输入的值
    let values = this.data.values;
    values[index] = value; // 更新对应索引的值
    this.setData({
      values: values
    });
  },
  submitData: function () {
    wx.showLoading({
      title: '让数据飞一会',
      mask:'true'
    });
    console.log(this.data.values); // 修改此行
    // 将多个输入框的内容以逗号连接
    const keys = this.data.values.join(",");
    // 构造需要提交的数据对象
    const postData = {
      base64Data: this.data.base64Data,
      keys: keys,
      pageNum: this.data.pageNum,
      type: this.data.fileType,
      userId: this.data.userId,
    };
    console.log('提交的数据：', postData);
    // 保存当前上下文
    let _this = this;
    // 在这里调用发送请求的代码，将数据提交给后端
    wx.request({
      url: wuhuUrl+'/ft/textin/contents_extract',
      method: 'POST',
      data: postData,
      success(res) {
        console.log('提交成功：', res.data);
        // 将返回的结果中每一条信息的第一个值提取出来，添加到value数组中
        const values_show = res.data.data.map(item => item.value);
        console.log(values_show)
        // 将提取的值设置到页面数据中
        _this.setData({
          value: values_show,
        });
        wx.hideLoading();
      },
      fail(err) {
        console.error('提交失败：', err);
        wx.hideLoading();
      }
    });
  },
  deleteInput: function (event) {
    const index = event.currentTarget.dataset.index; // 获取要删除的输入框的索引
    let values = this.data.values;
    if (values.length > 1) {
      values.splice(index, 1); // 删除对应索引的值
      this.setData({
        values: values
      });
    } else {
      wx.showToast({
        title: '至少保留一个输入框',
        icon: 'none',
        duration: 2000
      });
    }
  }
})
